home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
A.C.E. 2
/
ACE CD 2.iso
/
FILES
/
UTILS
/
ENVOYNWS.DMS
/
ENVOYNWS.adf
/
FloppyInstall
< prev
next >
Wrap
Text File
|
1993-12-28
|
37KB
|
806 lines
;
; Envoy FLOPPY DISK Installation script
; Copyright (c) 1993, Commodore-Amiga, Inc.
; $Id: floppydisk,v 1.6 93/12/23 20:35:21 jesup Exp $
;
; Make sure that we are running under 2.04 or better
;
(if (< (/ (getversion) 65536) 37)
(abort "You must be using Kickstart 2.04 or higher to install and use Envoy.")
)
; Allow updating over SoftEng's big Envoy server
(set serverMode FALSE)
(if (= (expandpath (pathonly @icon)) "Soft:Public/NewEnvoy")
(
(set serverMode TRUE)
(makeassign "EnvoyInstall" "Soft:Public/NewEnvoy")
)
)
(if (= (expandpath (pathonly @icon)) "SoftPublic:NewEnvoy")
(
(set serverMode TRUE)
(makeassign "EnvoyInstall" "SoftPublic:NewEnvoy")
)
)
(if
(= 0 (askbool
(prompt "IMPORTANT !!!\n\n"
"This Installation procedure must only be used if you BOOTED FROM a copy of a V37 or higher Workbench Floppy!\n\n"
"This Installation will delete files from the disk you have booted from to make room for Envoy.\n\n"
"Do NOT continue if you booted from your"
" original Workbench floppy or a harddisk.\n"
"Continue installation ?")
(help "This 'Install Floppy' procedure is for installing Envoy to a copy of a Workbench floppy only,"
" for use on floppy-boot systems.\n\n"
"Do NOT procede with this installation if you booted from your"
" original Workbench floppy or a harddisk.\n")
) )
(abort ("Installation aborted by user"))
)
(set sysok 0)
(set wheresys (getdevice "SYS:"))
(if (= sysok 0)
(if (= wheresys "DF0")
(set sysok 1)
)
)
(if (= sysok 0)
(if (= wheresys "DF1")
(set sysok 1)
)
)
(if (= sysok 0)
(if (= wheresys "DF2")
(set sysok 1)
)
)
(if (= sysok 0)
(if (= wheresys "DF3")
(set sysok 1)
)
)
;(askbool (prompt (cat "wheresys is " wheresys " sysok is " sysok))
; (help "No help")
;)
(if (= sysok 0)
(abort ("\nSystem not booted from Workbench floppy.\nAborting Floppy Install."))
)
;(abort ("Abort for testing"))
;
; Figure out where to put it if installing to a hard disk.
;
;(run "setenv envoydev SYS:")
;(run "envoyinstall:guessenvoydev >env:envoydev" (safe))
(set envoy_dest "SYS:Envoy")
(if (NOT (exists envoy_dest))
(makedir envoy_dest (infos))
)
(if (NOT (exists "env:Envoy"))
(makedir "env:Envoy")
)
(if (NOT (exists "envarc:Envoy"))
(makedir "envarc:Envoy")
)
(if (NOT (exists "SYS:L"))
(makedir "SYS:L")
)
(set is_update 0)
;
;
; Now that we know where it goes and whether we are overwriting it:
;
(if (NOT @pretend)
(set @default-dest envoy_dest)
)
;
; Figure out what workbench version they are using.
;
(set WBVersion (/ (getversion "SYS:Libs/version.library") 65536))
;
; V37. We have to delete a whole bunch of stuff to make
; room for everything.
;
(if (= WBVersion 37)
(
(delete "SYS:Libs/translator.library")
(delete "SYS:Devs/narrator.device")
(delete "SYS:System/DiskCopy")
(delete "SYS:System/DiskCopy.info")
(delete "SYS:System/Format")
(delete "SYS:System/Format.info")
(delete "SYS:System/NoFastMem")
(delete "SYS:System/NoFastMem.info")
(delete "SYS:System/FixFonts")
(delete "SYS:System/FixFonts.info")
(delete "SYS:Utilities/Clock")
(delete "SYS:Utilities/Clock.info")
(delete "SYS:Utilities/Display")
(delete "SYS:Utilities/Display.info")
(delete "SYS:Utilities/Say")
(delete "SYS:Utilities/Say.info")
)
)
; V39. We have to delete a whole bunch of stuff to make
; room for everything.
;
(if (>= WBVersion 39)
(
(delete "SYS:System/DiskCopy")
(delete "SYS:System/DiskCopy.info")
(delete "SYS:System/Format")
(delete "SYS:System/Format.info")
(delete "SYS:System/NoFastMem")
(delete "SYS:System/NoFastMem.info")
(delete "SYS:System/FixFonts")
(delete "SYS:System/FixFonts.info")
(delete "SYS:Utilities/Clock")
(delete "SYS:Utilities/Clock.info")
(delete "SYS:Devs/mfm.device")
(delete "SYS:C/Edit")
(delete "SYS:C/MagTape")
(delete "SYS:C/Makelink")
(delete "SYS:C/Setfont")
(delete "SYS:C/Sort")
(delete "SYS:L/CrossDOSFileSystem")
(delete "SYS:Libs/bullet.library")
(delete "SYS:Devs/Dosdrivers/PIPE#?")
)
)
;
;
;
; Do the main copying. Because pattern and all are mutually exclusive,
; I have to copy each directory separately!!! Copylib is used
; for each library individually so that no smaller version is overwritten
; by a higher version. Last time I checked though, this feature was broken.
;
(copyfiles (source "EnvoyInstall:libs")
(dest "SYS:libs")
(all)
)
(if (NOT (exists (tackon envoy_dest "Configuration")))
(makedir (tackon envoy_dest "Configuration") (infos))
)
(set n 0)
(while (< n 4)
(
(copylib (prompt "Copy Envoy Configuration Editors.")
(source (select n "EnvoyInstall:Configuration/Filesystem Imports"
"EnvoyInstall:Configuration/Network Printing"
"EnvoyInstall:Configuration/Network Configuration"
"EnvoyInstall:Configuration/Envoy V37 PrintStart"
"EnvoyInstall:Configuration/Printer Import"
"EnvoyInstall:Configuration/Users"
"EnvoyInstall:Configuration/Groups"
)
)
(dest (tackon envoy_dest "Configuration"))
(infos)
)
(set n (+ n 1))
)
)
; Now comes somthing really fun. Depending on which version of the
; OS the user has, we may or may not need to update some of the commands
; in the C: directory.
(set n 0)
(while (< n 5)
(
(copylib (prompt "Updating C: commands.")
(source (select n "EnvoyInstall:c/mount"
"EnvoyInstall:c/protect"
"EnvoyInstall:c/list"
"EnvoyInstall:c/owner"
"EnvoyInstall:c/group"
)
)
(dest "SYS:C")
)
(set n (+ n 1))
)
)
; can't use the V40 setpatch under pre-V38 WB
(set n 0)
(if (= WBVersion 37)
(set n 1)
)
(copylib
(source (select n
"EnvoyInstall:c/SetPatch"
"EnvoyInstall:c/SetPatch.V37"
)
)
(dest "SYS:C")
(newname "SetPatch")
)
(copylib
(prompt "Installing the Envoy Network File System.")
(source "EnvoyInstall:L/EnvoyFileSystem")
(dest "SYS:L")
)
; Need to delete old drivers located in devs: rather than devs:Networks.
; Need to ask which SANA-II drivers to install
; Note that this also copies mount examples to devs:DOSDrivers
;
(if (NOT (exists "SYS:Devs/Networks"))
(makedir "SYS:Devs/Networks")
)
(copylib
(source "EnvoyInstall:DEVS/envoyprint.device")
(dest "SYS:Devs/")
)
(copylib
(source "EnvoyInstall:L/port-handler")
(dest "SYS:L")
)
(if (= WBVersion 37)
(
(copylib
(source "EnvoyInstall:DEVS/printer.device")
(dest "DEVS:")
)
(copylib (source "EnvoyInstall:Prefs/Printer")
(dest "SYS:Prefs")
(infos)
)
(startup "NetworkPrinting"
(prompt "Adding an ASSIGN to your S:User-startup.")
(command
("ASSIGN PRINTERS: DEVS:Printers")
)
(help
"\nIn order for network printing to work on Release 2.04 systems,"
"an assign must be made for PRINTERS:."
)
)
)
)
;
; Get configuration information from the user:
;
; Let's configure what the user will do at boot time
;
(set NetworkType
(askchoice
(prompt "Please select what type of network configuration you are using." )
(choices "Simple Network"
"Complex Network"
)
(help
"\nSimple Network\n"
"\n"
"Select this option if your Amiga will not be on a network that "
"is connected to the Internet.\n"
"\n"
"Complex Network\n"
"\n"
"Select this option if your Amiga will be "
"on a network that contains any network routers, or is "
"connected to the Internet."
"See your "
"Envoy documentation for more information on these options."
)
)
)
; No Internet:
;
; Hostname
; Address (1-254)
; SANA-II Device (no need to support multiple devices if not internet)
; (don't need subnet mask)
(if (= NetworkType 0)
(
(set HostNumber "137.239.1.")
(set OwnerName
(askstring
(prompt "Please enter the name of this Amiga's owner.")
(default "None")
(help
"\nEnvoy allows you to enter the name of a person "
"as a machine's Owner. You may leave this set to "
"None if you wish."
)
)
)
(set HostName
(askstring
(prompt "Please Enter a name for your Amiga.")
(default "Amiga")
(help
"\nEach machine on a network must have a unique "
"name and number. Machine names can have a maximum of "
"31 characters, and may not contain a colon (:)."
)
)
)
(set HostNumber
(cat HostNumber
(asknumber
(prompt "Please enter a network address for your Amiga.")
(default "1")
(help
"\nEach machine on a network must have a unique "
"name and number. Machine numbers must be in the "
"range of 1 to 254."
)
(range 1 254)
)
)
)
(set DeviceDriver
(askchoice
(prompt "Please select what type of network interface hardware you will be using")
(choices "Commodore Ethernet Board (A2065)"
"Commodore ARCNET Board (A2060 or A560)"
"Other"
)
(default 0)
(help
"\nCommodore Ethernet Board (A2065)\n"
"\n"
"Select this option if you will be using the Commodore A2065 "
"Ethernet board with Envoy. This option can also be used if you will be using the "
"Ameristar Ethernet board.\n"
"\n"
"Commodore ARCNET Board (A2060 or A560)\n"
"\n"
"Select this option if you will be using the Commodore A2060 "
"or A560 ARCNET boards with Envoy.\n"
"\n"
"Other\n"
"\n"
"Select this option if you will be using a third-party network "
"interface with Envoy. Please have the documentation supplied "
"with your interface ready for the next few questions.\n"
"\n"
)
)
)
(if (= DeviceDriver 2)
(
(message
"\nIf you will be using a SANA-II device which has not yet been "
"copied to DEVS:Networks, copy it there now manually. Come back to "
"the installer when you are done."
)
(set DeviceName
(askfile
(default "DEVS:Networks")
(prompt "Please select the SANA-II driver for your network interface. ")
(help
"\nEach network interface must have an associated software driver "
"to work with Envoy. This driver should be placed in DEVS:Networks "
"along with any other SANA-II device drivers. The documentation "
"supplied with your network interface should supply you with the "
"name of the device driver for your network interface. "
)
)
)
(set IPType
dir a(asknumber
(default 2048)
(prompt "Please enter the packet type number for IP packets "
"for your network interface."
)
(help
"\nEnter the decimal number for the IP packet type used "
"with your network interface. Enter the value supplied by "
"the documentaion for your network interface if the value isn't "
"listed below.\n"
"\n"
"Ethernet Interfaces: 2048\n"
"ARCNET Interfaces: 240\n"
)
)
)
(set ARPType
(asknumber
(default 2054)
(prompt "Please enter the packet type number for ARP packets "
"for your Network Interface."
)
(help
"\nEnter the decimal number for the ARP packet type used "
"with your network interface. Enter the value supplied by "
"the documentation for your network interface if the value isn't "
"listed below.\n"
"\n"
"Ethernet Interfaces: 2054\n"
"ARCNET Interfaces: 241\n"
)
)
)
)
)
(if (= DeviceDriver 0)
(
(set DeviceName "DEVS:Networks/a2065.device")
(copylib
(source "EnvoyInstall:DEVS/Networks/a2065.device")
(dest "SYS:Devs/Networks")
)
(set IPType 2048)
(set ARPType 2054)
)
(if (= DeviceDriver 1)
(
(set DeviceName "DEVS:Networks/a2060.device")
(copylib
(source "EnvoyInstall:DEVS/Networks/a2060.device")
(dest "SYS:Devs/Networks")
)
(set IPType 240)
(set ARPType 241)
)
)
)
(set HostInfo
(cat "HOSTINFO "
HostName
" OWNER \""
OwnerName
"\"\n"
)
)
(set DevInfo
(cat "\nDEVINFO "
DeviceName
" "
HostNumber
" "
("%ld " IPType)
("%ld\n" ARPType)
)
)
(textfile
(dest "T:nipcconfig.txt")
(append HostInfo)
(append DevInfo)
)
(run "EnvoyInstall:C/BuildNIPCPrefs t:nipcconfig.txt ENVARC:Envoy/NIPC.prefs")
(run "EnvoyInstall:C/BuildNIPCPrefs t:nipcconfig.txt ENV:Envoy/NIPC.prefs")
)
; Internet:
;
; Hostname
; Address (full IP number)
; SANA-II Devices (with all the fixin's)
; Realm name
; Realm Server
; Realms
; Gateway config
;
(
(set HostNumber "137.239.1.")
(set OwnerName
(askstring
(prompt "Please enter the name of this Amiga's Owner.")
(default "None")
(help
"\nEnvoy allows you to enter the name of a person "
"as the machine's Owner. You may leave this set to "
"None if you wish."
)
)
)
(set HostName
(askstring
(prompt "Please enter a name for your Amiga.")
(default "Amiga")
(help
"\nEach machine on a network must have a unique "
"name and number. Machine names can have a maximum of "
"31 characters, and may not contain a colon (:). "
)
)
)
(set HostIP
(askstring
(prompt "Please enter a network address for your Amiga.")
(default "137.239.1.1")
(help
"\nEach machine on a network must have a unique "
"network address. \n\nSee your "
"Envoy documentation for more information, or contact "
"your Network Administrator."
)
)
)
(if (askbool
(prompt "Is your network using a default subnet mask?")
(default 0)
(help
"\nSubnet masks are used to break a large network into smaller "
"subnetworks. \n\nIf you are unsure whether subnet masks "
"are in use, contact your Network Administrator, or see "
"your Envoy documentation."
;**This help message needs to tell the user something about the consequences of this choice.
; Will our docs really be able to help them with this particular question?**
)
)
(set SubnetMask "none")
(set SubnetMask
(askstring
(prompt "Please enter the subnet mask being used on your network.")
; ** If only one per network is possible, should be "...whether a subnet mask
; is in use..." in the preceding Help. If more than one is possible, then
; this prompt needs further qualification. **
(default "255.255.255.0")
(help
"\nThe subnet mask determines what portion of a network "
"address is used to specify the network, and what portion "
"is used to specify a host. \n\nFor more information, see "
"your Envoy documentation, or contact "
"your Network Administrator."
)
)
)
)
(if (askbool
(prompt "Do you want to select the network address for a "
"default router?"
)
(default 1)
(help
"\nRouters are machines that direct network traffic from one network "
"to another. Usually each physical network has one router that "
"is designated as the 'default' router. \n\nIf you are not sure "
"whether you have a default router, contact your Network "
"Administrator."
)
)
(set DefaultRouter
(askstring
(prompt "Please enter the network address of the default router.")
(help
"\nAs with other hosts on a network, routers must also have "
"a network address, usually one for each network to which they "
"are connected. \n\nFor more information, see "
"your Envoy documentation, or contact your Network Administrator."
; **The second part of the first sentence is confusing. Is there one default
; router address, or several? **
)
)
)
(set DefaultRouter "none")
)
(set RealmName
(askstring
(prompt "Please enter the name of your Amiga's Realm.")
(default "Realm1")
(help
"\nAn Envoy Realm is a logical grouping of physical networks. "
"Realms are typically used to organize large numbers of "
"machines into manageable groups."
; ** This needs a little more: how about max. characters, other restrictions/suggestions, whether the
; realm must already exist, etc. Also, Is it a grouping of networks, or of hosts? What's the difference
; between a Realm and a subnet defined by a subnet mask?**
)
)
)
(set RealmIP
(askstring
(prompt "Please enter the network address of your Realm Server.")
(default "137.239.1.254")
(help
"\nA Realm Server is a machine that knows about all of the Realms "
"that exist on your network. Enter the network address of "
"that machine. \n\nFor more information, see "
"your Envoy documentation, or contact your Network Administrator."
)
)
)
(set DeviceDriver
(askchoice
(prompt "Please select what type of network interface you will be using.")
(choices "Commodore Ethernet Board (A2065)"
"Commodore ARCNET Board (A2060)"
"Other"
)
(default 0)
(help
"\nCommodore Ethernet Board (A2065)\n"
"\n"
"Select this option if you will be using the Commodore A2065 "
"Ethernet board with Envoy. This option can also be used if you will be using the "
"Ameristar Ethernet board.\n"
"\n"
"Commodore ARCNET Board (A2060 or A560)\n"
"\n"
"Select this option if you will be using the Commodore A2060 "
"or A560 ARCNET boards with Envoy.\n"
"\n\n"
"Other\n"
"\n"
"Select this option if you will be using a third-party network "
"interface with Envoy. Please have the documentation supplied "
"with your interface ready for the next few questions.\n"
"\n"
)
)
)
(if (= DeviceDriver 2)
(
(set DeviceName
(askfile
(default "DEVS:Networks")
(prompt "Please select the SANA-II driver for your network interface.")
(help
"\nEach network interface must have an associated software driver "
"to work with Envoy. This driver should be placed in DEVS:Networks "
"along with any other SANA-II device drivers. \n\nThe documentation "
"supplied with your network interface should provide the "
"name of the device driver for the interface. "
)
)
)
(set IPType
(asknumber
(default 2048)
(prompt "Please enter the packet type number for IP packets "
"for your network interface."
)
(help
"\nEnter the decimal number for the IP packet type used "
"with your network interface. Enter the value supplied by "
"the documentation for your network interface if the value isn't "
"listed below.\n"
"\n"
"Ethernet Interfaces: 2048\n"
"ARCNET Interfaces: 240\n"
)
)
)
(set ARPType
(asknumber
(default 2054)
(prompt "Please enter the packet type number for ARP packets "
"for your network interface."
)
(help
"\nEnter the decimal number for the ARP packet type used "
"with your network interface. Enter the value supplied by "
"the documentation for your network interface if the value isn't "
"listed below.\n"
"\n"
"Ethernet Interfaces: 2054\n"
"ARCNET Interfaces: 241\n"
)
)
)
)
)
(if (= DeviceDriver 0)
(
(set DeviceName "DEVS:Networks/a2065.device")
(copylib
(source "EnvoyInstall:DEVS/Networks/a2065.device")
(dest "DEVS:Networks")
)
(set IPType 2048)
(set ARPType 2054)
)
(if (= DeviceDriver 1)
(
(set DeviceName "DEVS:Networks/a2060.device")
(copylib
(source "EnvoyInstall:DEVS/Networks/a2060.device")
(dest "DEVS:Networks")
)
(set IPType 240)
(set ARPType 241)
)
)
)
(set HostInfo
(cat "HOSTINFO "
HostName
" REALMNAME "
RealmName
" REALMIP "
RealmIP
" OWNER \""
OwnerName
"\"\n"
)
)
(set DevInfo
(cat "DEVINFO "
DeviceName
" "
HostIP
" "
("%ld " IPType)
("%ld " ARPType)
)
)
(if (<> "none" SubnetMask)
(set DevInfo
(cat DevInfo
" SUBMASK "
SubnetMask
)
)
)
(set DevInfo
(cat Devinfo
"\n"
)
)
(textfile
(dest "T:nipcconfig.txt")
(append HostInfo)
(append DevInfo)
(if (<> "none" DefaultRouter)
(append
(cat "ROUTEINFO "
"0.0.0.0 "
DefaultRouter
" 1\n"
)
)
)
)
(run "EnvoyInstall:C/BuildNIPCPrefs t:nipcconfig.txt ENVARC:Envoy/NIPC.prefs")
(run "EnvoyInstall:C/BuildNIPCPrefs t:nipcconfig.txt ENV:Envoy/NIPC.prefs")
)
)
(copyfiles
(source "EnvoyInstall:C/Reboot")
(dest "ram:")
)
(message "\nThe installation of Envoy is now complete.\n\n"
"To enable Envoy, you must reboot your Amiga.\n\n"
"Remove the \"Envoy Install\" disk from the floppy drive "
"and select the \"Proceed\" gadget to reboot your Amiga."
)
(run "ram:Reboot")